Ubuntu安装OpenCV3.4.5(两种方法&&图文详解) 您所在的位置:网站首页 ubuntu install opencv3 Ubuntu安装OpenCV3.4.5(两种方法&&图文详解)

Ubuntu安装OpenCV3.4.5(两种方法&&图文详解)

2023-02-02 16:32| 来源: 网络整理| 查看: 265

博主在ubuntu20.04系统上又需要安装opencv,此前在18.04上安装过多次opencv,对计算机视觉开源库还是比较熟悉,本次安装记录下详细过程,方便后来同学少走弯路。

安装教程 一、命令行安装 二、源码安装 * 1、下载源码 2、安装依赖项 3、cmake分析 4、make编译 5、make install安装 6、配置环境变量 三、验证安装 一、命令行安装 sudo apt install libopencv-dev

没想到吧?只需要一条命令行就可以安装好opencv,它会自动下载安装所需的库文件,这里显示要149个,右下角显示还需要2小时11分,时间充裕怕麻烦的同学可以选择这种方法安装。

Ubuntu安装OpenCV3.4.5(两种方法&&图文详解) 二、源码安装 1、下载源码

点击进入opencv官网,下载Sources压缩包,这里我推荐3.4.5版本,安全稳定,当然你选择其他版本也没有影响。

Ubuntu安装OpenCV3.4.5(两种方法&&图文详解) ; 2、安装依赖项 sudo apt-get install build-essential libgtk2.0-dev libjpeg-dev libtiff5-dev libopenexr-dev libtbb-dev sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libgtk-3-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev pkg-config

事实上,OpenCV的依赖项很多,但是我们并不会用到所有功能,所以以上依赖对于正常的科研项目已经足够了。

3、cmake分析

将源代码解压,这里我解压到home目录下,然后创建build文件夹,进行cmake分析,在cmake阶段会检查依赖项是否安装,并调整自己的功能。

cd opencv-3.4.5/ mkdir build cd build cmake ..

cmake检查完成,就会显示配置和生成已结束。

Ubuntu安装OpenCV3.4.5(两种方法&&图文详解) 4、make编译 sudo make -j4

可以-j8开启8线程进行编译(-j后面的参数就是使用的线程数量),加快编译速度。这个过程相对比较漫长,中间可能会出现各种warning的提示,但只要最后100%就OK。

Ubuntu安装OpenCV3.4.5(两种方法&&图文详解) 5、make install安装 sudo make install

安装速度是非常快的,5s就可以给你安装完成。

Ubuntu安装OpenCV3.4.5(两种方法&&图文详解) 6、配置环境变量

1、修改/etc/ld.so.conf文件

sudo gedit /etc/ld.so.conf

在文件中加上一行 include /usr/local/lib,/usr/local是opencv的默认安装路径,这样告诉系统以后去lib目录下找opencv的库文件。

Ubuntu安装OpenCV3.4.5(两种方法&&图文详解)

输入命令使得conf生效:

sudo ldconfig

2、修改bash.bashrc文件

sudo gedit /etc/bash.bashrc

在文件末尾加上:

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig export PKG_CONFIG_PATH

Ubuntu安装OpenCV3.4.5(两种方法&&图文详解)然后source使得bash生效: source /etc/bash.bashrc 三、验证安装

输入命令查看opencv版本信息:

pkg-config opencv --modversion

显示版本,表示安装成功!

Ubuntu安装OpenCV3.4.5(两种方法&&图文详解)

Original: https://blog.csdn.net/qq_42257666/article/details/125673177Author: 振华OPPOTitle: Ubuntu安装OpenCV3.4.5(两种方法&&图文详解)

相关阅读 Title: RGB-T追踪——【综述】A Survey for Deep RGBT Tracking. 目录 基于MDNet * 通用网络框架 框架特点 相关论文 基于Siamese网络 * 通用网络框架 框架特点 相关论文 基于MDNet vs 基于Siamese 其它的深度学习追踪器

1. A Survey for Deep RGBT Tracking2. MDNet: Learning Multi-Domain Convolutional Neural Networks for Visual Tracking3. CMPP: Cross-Modal Pattern-Propagation for RGB-T Tracking4. APFNet: APFNet: Attribute-Based Progressive Fusion Network for RGBT Tracking5. ADRNet:Learning Adaptive Attribute-Driven Representation for Real-Time RGB-T Tracking

本篇论文总结了RGBT追踪中那些基于深度学习的方法,并在GTOT, RGBT210, RGBT234 和LASHER这四个公认的Benchmark上面进行对比(应该是直接搬用的论文里面的实验数据,所以并不是所有对比的Tracker都有四个Benchmark的结果)

基于MDNet 通用网络框架

MDNet是单目标追踪领域早期将CNN引入目标追踪的一篇论文,以VOT2015的冠军之名扬名立万。RGB-T追踪作为单目标追踪下的子应用自然会借鉴许多在单目标追踪分支中表现优异的追踪器。下图为基于MDNet设计的RGBT追踪器的框架。

Ubuntu安装OpenCV3.4.5(两种方法&&图文详解)如图所示,该框架的主体部分有三:特征提取分支、特征融合分支、目标分类分支。 ; 框架特点 对特征提取分支、特征融合分支进行离线训练。这样做的优势就是能利用CNN网络在大量而丰富的数据集上训练,以求得到的特征包含了高度有效的语义特征,保证追踪测试阶段的精度。 目标分类分支的全连接层的参数进行在线更新。 这一操作是考虑到不同目标的特征辨识是不一样的。换句话说,同一个网络对于不同的图片提取的特征必定不同,对于识别车的特征与识别动物的特征肯定有不同的侧重点, 所以这个目标分类分支是在每一个测试序列开始的时候都是重新初始化的,目的就在于适应目标特定(object-specific)的序列。 虽然图中没有画出来,但实验中会参与的目标框的回归分支(计算最大概率的目标的四个顶点),只有目标的分类分支(判断是候选框包含的是前景还是背景)。因为分类分支只是简单的判断现有的候选框(这个大小是预先设置的,固定大小)包含目标的概率有多少,而这个框其实是很粗糙的,并不贴合目标,所以就需要回归头,对原始框的坐标+大小(x, y, w, h),用一个权重函数映射到一个新的坐标+大小(x, y, w, h)。【MDNet中采用的就是R-CNN中的回归头】 相关论文

许多基于MDNet的论文就是改进 特征提取和特征特征融合分支 这两部分模块。Transformer的火热也使得大家热衷于引入它来增强特征和融合特征,它提取的特征以一种Global的方式。引入Transformer的CMPP是一篇2020年的文章,但是它的精度与2022的新论文APFNet也不逊色。而近期一个新思路——针对数据集中有挑战性的属性(如:快速运动、遮挡等等)分别设计特征提取的分支,CAT、ADRNet、APFNet都是从这个思路出发设计的追踪器。

基于Siamese网络 通用网络框架

Ubuntu安装OpenCV3.4.5(两种方法&&图文详解)SiamFC是单目标追踪中引入Siamese网络的开山之作。通用的基于Siamese的追踪框架的主体部分有4部分:共享权重的特征提取网络、特征融合模块(用于计算两个模态中的相似度,实现自适应地为RGB-TIR模态计算权重)、分类头、回归头。 ; 框架特点 因为是离线训练为主,所以整个网络可以实现端到端的训练和测试。但是效果很难说,可能是因为确实训练数据的缘故,感觉基于Siamese分支的方法并没有在精度上很亮眼,速度也没有达到说可以适当忽略精度那样。 相关论文

许多基于Siamese的论文就是改进 特征融合分支来获取更精准的权重——相似度评分。一般思路是将单目标追踪中的有效Siamese追踪器扩展成处理两个模态的追踪器。SiamCDA就是以SiamRPN++为基础设计的RGBT追踪器。

基于MDNet vs 基于Siamese 速度: 基于Siamese的追踪器速度更快,因为它是端到端训练,所以它在测试的时候,直接输入序列的图片,输出序列图片的预测边界框; 基于MDNet的追踪器一样有一个FC层,需要每个序列都重新训练,并且是在测试的时候,采样一些正负样本,去先训练一个这个序列目标特定的FC层再完成序列的测试任务。所以很明显MDNet的这个必须的训练过程拖慢了速度。 效果: 基于MDNet的追踪器通常能获得更高的追踪精度。 因为通常基于MDNet相关的追踪器会设计多分支的丰富的模态相关的特征提取和特征融合模块。它可以提取模态特有的特征,也可以同时考虑模态共有的特征。 并且在线更新的机制使其对测试序列的适应性更强。 基于Siamese的追踪器就是用一个共有的网络去提取两种模态中相似的部分,并且在特征融合过程中两种模态的特征进行交互,训练出它们在不同训练场景下的权重。可以看到这个过程非常依赖训练数据的丰富性,换句话说,当训练数据不充足,缺乏大规模的标注数据时,这类追踪器就很难达到理想的效果。所以为了提高效率,也会出现LSS等包含合成的热红外图片和视频的数据集。 其它的深度学习追踪器 mfDiMP是在单目标追踪领域重量级追踪器——DiMP的扩展。在单目标追踪领域中,DiMP被分类为基于相关滤波的追踪器。而 基于相关滤波的追踪器主要是针对单目标追踪中如何在特征中更精准生成目标的预测框,即改进分类分支。 JMMAC将ECO——一个也是在单目标追踪中很出名的基于相关滤波的追踪器,作为基础。JMMAC一共有两个处理分支:在外观模型中,利用ECO分别对两个模态生成目标的响应图,然后自己设计一个多模态特征网络为响应图加权;在运动模型中利用卡尔曼滤波器对目标运动建模,还用特征点匹配建模相机运动。 *这两个分支并不互补,而是当外观模型生成的预测框不理想的时候,切换运动模型来处理。

呜呜呜,国强则实验强,论文强。

Original: https://blog.csdn.net/qq_42312574/article/details/126899610Author: zz的大穗禾Title: RGB-T追踪——【综述】A Survey for Deep RGBT Tracking.

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/369030/

转载文章受原作者版权保护。转载请注明原作者出处!



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有